## [1] "data/Merged/Sarcoidosis_vs_DonorHeart_v2.rds"
##
##
## 49601
colclusterName <- c("#f4a582", "#FEE08B", "#3288BD", "#253494", "#01665e", "#66C2A5", "#355C7D", "#a6bddb", "#fde0dd", "#dd1c77")
names(colclusterName) <- c("CM", "Fb1","PeriFb", "VSMC", "BEC1","BEC2", "NC1", "TRM", "inflMph","Lymphocytes")
seuratM$clusterName <- factor(seuratM$clusterName, levels=c("CM", "Fb1", "PeriFb", "VSMC", "BEC1","BEC2", "NC1", "TRM", "inflMph","Lymphocytes"))
Idents(seuratM) <- seuratM$clusterName
DimPlot(seuratM, reduction = "umap",label = TRUE, cols = colclusterName, repel = TRUE, pt.size = 0.01)
seuratFb <- subset (seuratM, clusterName %in% c("Fb1", "PeriFb", "VSMC"))
table(seuratFb$orig.ident)
##
##
## 24740
table(seuratFb$pat_sub)
##
## DonorHeart Sarcoidosis
## 19792 4948
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 24740
## Number of edges: 841627
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9619
## Number of communities: 7
## Elapsed time: 3 seconds
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 24740
## Number of edges: 841627
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9507
## Number of communities: 9
## Elapsed time: 2 seconds
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 24740
## Number of edges: 841627
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9402
## Number of communities: 10
## Elapsed time: 2 seconds
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 24740
## Number of edges: 841627
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9325
## Number of communities: 11
## Elapsed time: 2 seconds
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 24740
## Number of edges: 841627
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.8962
## Number of communities: 16
## Elapsed time: 2 seconds
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 24740
## Number of edges: 841627
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.8790
## Number of communities: 19
## Elapsed time: 2 seconds
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 24740
## Number of edges: 841627
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9149
## Number of communities: 14
## Elapsed time: 3 seconds
## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
##
## Number of nodes: 24740
## Number of edges: 841627
##
## Running Louvain algorithm...
## Maximum modularity in 10 random starts: 0.9260
## Number of communities: 11
## Elapsed time: 2 seconds
##
##
## 24740
##
## Fb1 PeriFb VSMC
## 12879 10478 1383
Idents (seuratFb) <- seuratFb$RNA_snn_res.0.3
DimPlot(seuratFb, reduction = "umap", pt.size = 0.1, label = TRUE)
seuratFb$clusterName <- "clusterName"
Idents(seuratFb) <- seuratFb$clusterName
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "0" )] <- "PeriFb1"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "1" )] <- "PDGFRAhigh Fb1"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "2" )] <- "PDGFRAlow Fb1"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "3" )] <- "PeriFb2"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "4" )] <- "VSMC"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "5" )] <- "PDGFRAlow Fb2"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "6" )] <- "PDGFRAhigh Fb2"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "7" )] <- "CD34 high Fb"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "8" )] <- "PDGFRAlow VCAN high"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "9" )] <- "PI16 high Fb"
seuratFb$clusterName[which(seuratFb$RNA_snn_res.0.3 %in% "10" )] <- "PDGFRAlow CD81high"
colFb <- c("#e5f5f9", "#99d8c9", "#2ca25f", "#ffffb2", "#fed976", "#feb24c", "#fdbb84","#fd8d3c", "#ef6548", "#b30000", "#7f0000")
names(colFb) <- c("PeriFb1", "PeriFb2", "VSMC", "PDGFRAhigh Fb1", "PDGFRAhigh Fb2", "PDGFRAlow Fb1", "PDGFRAlow Fb2", "PDGFRAlow VCAN high", "PDGFRAlow CD81high", "CD34 high Fb", "PI16 high Fb")
colpat_sub<- c("#355C7D", "#dfc27d")
names(colpat_sub) <- c("DonorHeart", "Sarcoidosis")
seuratFb$clusterName <- factor(seuratFb$clusterName, levels = c("PeriFb1", "PeriFb2", "VSMC", "PDGFRAhigh Fb1", "PDGFRAhigh Fb2", "PDGFRAlow Fb1", "PDGFRAlow Fb2", "PDGFRAlow VCAN high", "PDGFRAlow CD81high", "CD34 high Fb", "PI16 high Fb"))
Idents(seuratFb) <- seuratFb$clusterName
DimPlot(seuratFb, reduction = "umap", cols = colFb, pt.size = 0.1, label =F)
#Idents(seuratFb) <- seuratFb$clusterName
#DimPlot(seuratFb, reduction = "umap", cols = colFb, pt.size = 0.1, label =T, repel = T)
gene_list <- rev(c("IL33","LIFR", "OSMR", "IL1R1", "IL6ST", "IL1RAP", "CCL11", "IL1B", "OSM", "IL1RL1"))
seuratM$clusterName <- factor(seuratM$clusterName, levels = c("PeriFb1", "PeriFb2", "VSMC", "PDGFRAhigh Fb1", "PDGFRAhigh Fb2", "PDGFRAlow Fb1", "PDGFRAlow Fb2", "PDGFRAlow VCAN high", "PDGFRAlow CD81high", "CD34 high Fb", "PI16 high Fb"))
DotPlot(data_conv, features = gene_list, group.by= "clusterName") + RotatedAxis() + scale_color_viridis(option="T") + coord_flip() + ggtitle("Celltype assignment" + theme(axis.text.y = element_text(size = 10)))
VlnPlot(seuratFb, features = "ENSG00000137033.IL33", pt.size = 0.5, group.by ="clusterName") + scale_fill_manual(values = colFb) + ggtitle ("IL33")
VlnPlot(seuratFb, features = "ENSG00000145623.OSMR", pt.size = 0.5, group.by ="clusterName") + scale_fill_manual(values = colFb) + ggtitle ("OSMR")
VlnPlot(seuratFb, features = "ENSG00000137033.IL33", pt.size = 0.5, group.by ="clusterName") +
scale_fill_manual(values = colFb) + ggtitle ("IL33")
VlnPlot(seuratFb, features = "ENSG00000113594.LIFR", pt.size = 0.5, group.by ="clusterName") +
scale_fill_manual(values = colFb) + ggtitle ("LIFR")
VlnPlot(seuratFb, features = "ENSG00000134352.IL6ST", pt.size = 0.5, group.by ="clusterName") +
scale_fill_manual(values = colFb) + ggtitle ("IL6ST")
VlnPlot(seuratFb, features = "ENSG00000115594.IL1R1", pt.size = 0.5, group.by ="clusterName") +
scale_fill_manual(values = colFb) + ggtitle ("IL1R1")
VlnPlot(seuratFb, features = "ENSG00000196083.IL1RAP", pt.size = 0.5, group.by ="clusterName") +
scale_fill_manual(values = colFb) + ggtitle ("IL1RAP")
VlnPlot(seuratFb, features = "ENSG00000172156.CCL11", pt.size = 0.5, group.by ="clusterName") +
scale_fill_manual(values = colFb) + ggtitle ("CCL11")
genes <- data.frame(gene=rownames(seuratFb)) %>%
mutate(geneID=gsub("^.*\\.", "", gene))
selGenes <- data.frame(geneID=c("HGF", "MET", "GREM1", "GREM2", "BMPR1A", "BMPR2", "BMP2K", "BMP8A", "BMP1", "BMP6", "BMP2", "BMP4", "BMP5", "BMP7")) %>%
left_join(., genes, by="geneID")
Idents(seuratFb) <- seuratFb$clusterName
pList <- sapply(selGenes$gene, function(x){
p <- VlnPlot( object = seuratFb, features = x, pt.size = 0.5, cols=colFb)
plot(p)
})
datList <- NULL
for(con in unique(seuratFb$pat_sub)){
seuratSub <- subset(seuratFb, pat_sub==con)
print(dim(seuratSub))
dat_con <- as.data.frame(table(seuratSub$clusterName)) %>%
mutate(percent=Freq/ncol(seuratSub)) %>% mutate(diseaseCond=con)
datList[[con]] <- dat_con
}
## [1] 44729 19792
## [1] 44729 4948
dat_all <- do.call("rbind", datList)
order_patsub <- c("DonorHeart", "Sarcoidosis")
ggbarplot(dat_all, x = "diseaseCond", y = "percent", fill = "Var1", palette = colFb, legend = "right", legend.titel = "cluster", xlab = "condition", ylab = "frequency") +
theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) +
scale_x_discrete(limits = order_patsub)
## Relative abundance of fibroblasts per patient
datList <- NULL
for(con in unique(seuratFb$patient)){
seuratFbSub <- subset(seuratFb, patient==con)
print(dim(seuratFbSub))
dat_con <- as.data.frame(table(seuratFbSub$clusterName)) %>%
mutate(percent=Freq/ncol(seuratFbSub)) %>% mutate(patient=con)
datList[[con]] <- dat_con
}
## [1] 44729 1880
## [1] 44729 668
## [1] 44729 1621
## [1] 44729 2067
## [1] 44729 2181
## [1] 44729 2910
## [1] 44729 4856
## [1] 44729 889
## [1] 44729 1049
## [1] 44729 403
## [1] 44729 1268
## [1] 44729 1978
## [1] 44729 636
## [1] 44729 84
## [1] 44729 1154
## [1] 44729 1096
dat_all <- do.call("rbind", datList)
#head(dat_all)
patient_order <- c("Donor Heart 01", "Donor Heart 02", "Donor Heart 03", "Donor Heart 04", "Donor Heart 05", "Donor Heart 06", "Donor Heart 07", "Donor Heart 08", "Donor Heart 09", "Donor Heart 10", "Donor Heart 11", "Sarcoidosis 01", "Sarcoidosis 02", "Sarcoidosis 03", "Sarcoidosis 04", "Sarcoidosis 05")
#View(dat_all)
#write.table(dat_all, file= "~/Documents/01 Projects/00 snRNAseq/01 Myocarditis snRNAseq/docs/Markers", sep = "\t",quote=F,row.names=T,col.names=T)
dat_all$patient <- factor(dat_all$patient, levels = patient_order)
ggbarplot(dat_all, x= "patient", y= "percent", fill = "Var1", legend = "right", legend.titel = "cluster", ylab = "frequency", palette = colFb) + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))
## Fb Counts
## total Fb count for all conditions
table(seuratFb$orig.ident)
##
##
## 24740
## Clusters per condition
table(seuratFb$clusterName, seuratFb$pat_sub)
##
## DonorHeart Sarcoidosis
## PeriFb1 6574 967
## PeriFb2 2436 273
## VSMC 1253 333
## PDGFRAhigh Fb1 3699 92
## PDGFRAhigh Fb2 1075 6
## PDGFRAlow Fb1 3592 67
## PDGFRAlow Fb2 40 1462
## PDGFRAlow VCAN high 64 726
## PDGFRAlow CD81high 13 440
## CD34 high Fb 1015 7
## PI16 high Fb 31 575
seuratFb$pat_sub <- factor(seuratFb$pat_sub, levels = c("DonorHeart", "Sarcoidosis"))
colpat_sub <- c("DonorHeart" = "#355C7D", "Sarcoidosis" = "#dfc27d")
dat_counts <- seuratFb@meta.data %>%
group_by(patient_pat_sub, pat_sub, clusterName) %>%
summarise(cnt = n(), .groups = "drop")
dat_totals <- seuratFb@meta.data %>%
group_by(patient_pat_sub) %>%
summarise(total_cells = n(), .groups = "drop")
dat_rel <- dat_counts %>%
left_join(dat_totals, by = "patient_pat_sub") %>%
mutate(rel_abundance = cnt / total_cells)
pvals <- dat_rel %>%
group_by(clusterName) %>%
summarise(p_val = wilcox.test(rel_abundance ~ pat_sub)$p.value) %>%
mutate(p_label = sprintf("p = %.3f", p_val))
y_max <- dat_rel %>%
group_by(clusterName) %>%
summarise(y_pos = max(rel_abundance))
pvals <- left_join(pvals, y_max, by = "clusterName")
ggbarplot(dat_rel,
x = "clusterName",
y = "rel_abundance",
fill = "pat_sub",
palette = colpat_sub,
add = c("mean_se"),
position = position_dodge(0.8),
xlab = "Cluster (Cell type)",
ylab = "Relative abundance",
legend.title = "Condition") +
theme_classic() + theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust = 1)) +
ggrepel::geom_text_repel(data = pvals, aes(x = clusterName, y = y_pos * 1.05, label = p_label), inherit.aes = FALSE,
size = 3, direction = "y",nudge_y = 0.01, segment.size = 0.2, box.padding = 0.5, point.padding = 0.5)
## Fb Feature Plots
genes <- data.frame(gene=rownames(seuratFb)) %>%
mutate(geneID=gsub("^.*\\.", "", gene))
selGenes <- data.frame(geneID=c("COL6A3", "DCN", "PDPN", "PDGFRA","PDGFRB", "RGS5", "NOTCH3", "MYH11", "ACTA2","PECAM1", "CDH5","VWF", "NCAM1", "CD34", "CD81", "SCARA5", "SOX6", "CXCL14","IL33", "MEG3", "BMP5", "BMP4", "TAGLN", "COL4A5", "SMOC2", "VCAN", "TMEM178A", "PI16", "SFRP1", "CLEC3B", "FBLN1", "C4BPA","P2RX1", "ITGA8", "FGFR2", "CPXM1", "CCDC80", "LGI2", "OGN", "TIMP1", "PTN", "POSTN", "PLP1", "LGI4", "CRYAB")) %>%
left_join(., genes, by="geneID")
pList <- sapply(selGenes$gene, function(x){
p <- FeaturePlot(seuratFb, features = x,
reduction = "umap", pt.size = 0.1,
cols = c("lightgrey", "#BE3144"),
raster = FALSE) +
theme(legend.position="right")
plot(p)
})
FeaturePlot(seuratFb, features = "ENSG00000145623.OSMR", pt.size = 1, cols = c("lightgrey", "#BE3144"))
FeaturePlot(seuratFb, features = "ENSG00000115602.IL1RL1", pt.size = 1, cols = c("lightgrey", "#BE3144"))
FeaturePlot(seuratFb, features = "ENSG00000137033.IL33", pt.size = 1, cols = c("lightgrey", "#BE3144"))
FeaturePlot(seuratFb, features = "ENSG00000145623.OSMR", pt.size = 1, cols = c("lightgrey", "#BE3144"))
FeaturePlot(seuratFb, features = "ENSG00000113594.LIFR", pt.size = 1, cols = c("lightgrey", "#BE3144"))
FeaturePlot(seuratFb, features = "ENSG00000134352.IL6ST", pt.size = 1, cols = c("lightgrey", "#BE3144"))
FeaturePlot(seuratFb, features = "ENSG00000115594.IL1R1", pt.size = 1, cols = c("lightgrey", "#BE3144"))
FeaturePlot(seuratFb, features = "ENSG00000196083.IL1RAP", pt.size = 1, cols = c("lightgrey", "#BE3144"))
FeaturePlot(seuratFb, features = get_full_gene_name("CCL11",seuratM) , pt.size = 1, cols = c("lightgrey", "#BE3144"))
genes <- data.frame(gene=rownames(seuratFb)) %>%
mutate(geneID=gsub("^.*\\.", "", gene))
selGenes <- data.frame(geneID=c("HGF", "MET", "GREM1", "GREM2", "BMPR1A", "BMPR2", "BMP2K", "BMP8A", "BMP1", "BMP6", "BMP2", "BMP4", "BMP5", "BMP7")) %>%
left_join(., genes, by="geneID")
pList <- sapply(selGenes$gene, function(x){
p <- FeaturePlot(seuratFb, features = x,
reduction = "umap", pt.size = 0.1,
cols = c("lightgrey", "#BE3144"),
raster = FALSE) +
theme(legend.position="right")
plot(p)
})
sessionInfo()
## R version 4.4.2 (2024-10-31)
## Platform: aarch64-apple-darwin20
## Running under: macOS Sequoia 15.6.1
##
## Matrix products: default
## BLAS: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib; LAPACK version 3.12.0
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## time zone: Europe/Zurich
## tzcode source: internal
##
## attached base packages:
## [1] grid stats4 stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] magrittr_2.0.4 future_1.67.0 pathview_1.46.0
## [4] wordcloud_2.6 textshaping_1.0.3 EnhancedVolcano_1.24.0
## [7] ggrepel_0.9.6 RColorBrewer_1.1-3 NCmisc_1.2.0
## [10] VennDiagram_1.7.3 futile.logger_1.4.3 ggupset_0.4.1
## [13] gridExtra_2.3 DOSE_4.0.1 enrichplot_1.26.6
## [16] msigdbr_25.1.1 org.Hs.eg.db_3.20.0 AnnotationDbi_1.68.0
## [19] clusterProfiler_4.14.6 multtest_2.62.0 metap_1.12
## [22] scater_1.34.1 scuttle_1.16.0 destiny_3.20.0
## [25] circlize_0.4.16 muscat_1.20.0 viridis_0.6.5
## [28] viridisLite_0.4.2 lubridate_1.9.4 forcats_1.0.1
## [31] stringr_1.5.2 purrr_1.1.0 readr_2.1.5
## [34] tidyr_1.3.1 tibble_3.3.0 tidyverse_2.0.0
## [37] dplyr_1.1.4 SingleCellExperiment_1.28.1 SummarizedExperiment_1.36.0
## [40] Biobase_2.66.0 GenomicRanges_1.58.0 GenomeInfoDb_1.42.3
## [43] IRanges_2.40.1 S4Vectors_0.44.0 BiocGenerics_0.52.0
## [46] MatrixGenerics_1.18.1 matrixStats_1.5.0 pheatmap_1.0.13
## [49] ggpubr_0.6.1 ggplot2_4.0.0 Seurat_5.3.0
## [52] SeuratObject_5.2.0 sp_2.2-0 workflowr_1.7.2
##
## loaded via a namespace (and not attached):
## [1] graph_1.84.1 igraph_2.1.4 ica_1.0-3
## [4] plotly_4.11.0 Formula_1.2-5 zlibbioc_1.52.0
## [7] tidyselect_1.2.1 bit_4.6.0 doParallel_1.0.17
## [10] clue_0.3-66 lattice_0.22-7 rjson_0.2.23
## [13] blob_1.2.4 S4Arrays_1.6.0 pbkrtest_0.5.5
## [16] parallel_4.4.2 png_0.1-8 plotrix_3.8-4
## [19] cli_3.6.5 ggplotify_0.1.3 goftest_1.2-3
## [22] VIM_6.2.6 variancePartition_1.36.3 BiocNeighbors_2.0.1
## [25] uwot_0.2.3 curl_7.0.0 mime_0.13
## [28] evaluate_1.0.5 tidytree_0.4.6 ComplexHeatmap_2.22.0
## [31] stringi_1.8.7 backports_1.5.0 XML_3.99-0.19
## [34] lmerTest_3.1-3 qqconf_1.3.2 httpuv_1.6.16
## [37] rappdirs_0.3.3 splines_4.4.2 sctransform_0.4.2
## [40] ggbeeswarm_0.7.2 DBI_1.2.3 jquerylib_0.1.4
## [43] smoother_1.3 withr_3.0.2 git2r_0.36.2
## [46] corpcor_1.6.10 systemfonts_1.2.3 reformulas_0.4.1
## [49] class_7.3-23 rprojroot_2.1.1 lmtest_0.9-40
## [52] formatR_1.14 htmlwidgets_1.6.4 fs_1.6.6
## [55] labeling_0.4.3 fANCOVA_0.6-1 SparseArray_1.6.2
## [58] DESeq2_1.46.0 ranger_0.17.0 DEoptimR_1.1-4
## [61] reticulate_1.43.0 hexbin_1.28.5 zoo_1.8-14
## [64] XVector_0.46.0 knitr_1.50 ggplot.multistats_1.0.1
## [67] UCSC.utils_1.2.0 RhpcBLASctl_0.23-42 timechange_0.3.0
## [70] foreach_1.5.2 patchwork_1.3.2 caTools_1.18.3
## [73] data.table_1.17.8 ggtree_3.14.0 R.oo_1.27.1
## [76] RSpectra_0.16-2 irlba_2.3.5.1 ggrastr_1.0.2
## [79] fastDummies_1.7.5 gridGraphics_0.5-1 lazyeval_0.2.2
## [82] yaml_2.3.10 survival_3.8-3 scattermore_1.2
## [85] crayon_1.5.3 RcppAnnoy_0.0.22 Rgraphviz_2.50.0
## [88] progressr_0.16.0 later_1.4.4 ggridges_0.5.7
## [91] codetools_0.2-20 GlobalOptions_0.1.2 aod_1.3.3
## [94] KEGGREST_1.46.0 Rtsne_0.17 shape_1.4.6.1
## [97] limma_3.62.2 estimability_1.5.1 pkgconfig_2.0.3
## [100] KEGGgraph_1.66.0 TMB_1.9.17 spatstat.univar_3.1-4
## [103] mathjaxr_1.8-0 EnvStats_3.1.0 getPass_0.2-4
## [106] aplot_0.2.9 scatterplot3d_0.3-44 ape_5.8-1
## [109] spatstat.sparse_3.1-0 xtable_1.8-4 car_3.1-3
## [112] plyr_1.8.9 httr_1.4.7 rbibutils_2.3
## [115] tools_4.4.2 globals_0.18.0 beeswarm_0.4.0
## [118] broom_1.0.10 nlme_3.1-168 lambda.r_1.2.4
## [121] assertthat_0.2.1 lme4_1.1-37 digest_0.6.37
## [124] numDeriv_2016.8-1.1 Matrix_1.7-4 farver_2.1.2
## [127] tzdb_0.5.0 remaCor_0.0.20 reshape2_1.4.4
## [130] yulab.utils_0.2.1 glue_1.8.0 cachem_1.1.0
## [133] polyclip_1.10-7 generics_0.1.4 Biostrings_2.74.1
## [136] mvtnorm_1.3-3 presto_1.0.0 parallelly_1.45.1
## [139] mnormt_2.1.1 statmod_1.5.0 RcppHNSW_0.6.0
## [142] ScaledMatrix_1.14.0 carData_3.0-5 minqa_1.2.8
## [145] pbapply_1.7-4 spam_2.11-1 gson_0.1.0
## [148] gtools_3.9.5 ggsignif_0.6.4 RcppEigen_0.3.4.0.2
## [151] shiny_1.11.1 GenomeInfoDbData_1.2.13 glmmTMB_1.1.12
## [154] R.utils_2.13.0 RCurl_1.98-1.17 memoise_2.0.1
## [157] rmarkdown_2.29 scales_1.4.0 R.methodsS3_1.8.2
## [160] RANN_2.6.2 spatstat.data_3.1-8 rstudioapi_0.17.1
## [163] cluster_2.1.8.1 whisker_0.4.1 mutoss_0.1-13
## [166] spatstat.utils_3.2-0 hms_1.1.3 fitdistrplus_1.2-4
## [169] cowplot_1.2.0 colorspace_2.1-2 rlang_1.1.6
## [172] xts_0.14.1 dotCall64_1.2 ggtangle_0.0.7
## [175] laeken_0.5.3 mgcv_1.9-3 xfun_0.53
## [178] coda_0.19-4.1 e1071_1.7-16 TH.data_1.1-4
## [181] iterators_1.0.14 emmeans_1.11.2-8 abind_1.4-8
## [184] GOSemSim_2.32.0 treeio_1.30.0 futile.options_1.0.1
## [187] bitops_1.0-9 Rdpack_2.6.4 ps_1.9.1
## [190] promises_1.3.3 RSQLite_2.4.3 qvalue_2.38.0
## [193] sandwich_3.1-1 fgsea_1.32.4 DelayedArray_0.32.0
## [196] proxy_0.4-27 GO.db_3.20.0 compiler_4.4.2
## [199] prettyunits_1.2.0 boot_1.3-32 beachmat_2.22.0
## [202] listenv_0.9.1 Rcpp_1.1.0 edgeR_4.4.2
## [205] BiocSingular_1.22.0 tensor_1.5.1 MASS_7.3-65
## [208] progress_1.2.3 BiocParallel_1.40.2 babelgene_22.9
## [211] spatstat.random_3.4-2 R6_2.6.1 fastmap_1.2.0
## [214] multcomp_1.4-28 fastmatch_1.1-6 rstatix_0.7.2
## [217] vipor_0.4.7 TTR_0.24.4 ROCR_1.0-11
## [220] TFisher_0.2.0 rsvd_1.0.5 vcd_1.4-13
## [223] nnet_7.3-20 gtable_0.3.6 KernSmooth_2.23-26
## [226] miniUI_0.1.2 deldir_2.0-4 htmltools_0.5.8.1
## [229] ggthemes_5.1.0 bit64_4.6.0-1 spatstat.explore_3.5-3
## [232] lifecycle_1.0.4 blme_1.0-6 S7_0.2.0
## [235] processx_3.8.6 nloptr_2.2.1 callr_3.7.6
## [238] sass_0.4.10 vctrs_0.6.5 robustbase_0.99-6
## [241] spatstat.geom_3.6-0 sn_2.1.1 ggfun_0.2.0
## [244] future.apply_1.20.0 bslib_0.9.0 pillar_1.11.1
## [247] gplots_3.2.0 pcaMethods_1.98.0 locfit_1.5-9.12
## [250] jsonlite_2.0.0 GetoptLong_1.0.5
date()
## [1] "Sun Oct 5 15:37:17 2025"